#ifndef SJSONDATA_H_
#define SJSONDATA_H_


#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QJsonArray>



class SJsonData
{
public:
	SJsonData();

	QByteArray toJson() const;
	static SJsonData fromJson(const QByteArray& json);
	void setObject(const QJsonObject& object);

	void addValue(const QString& key,bool v);
	void addValue(const QString& key,double v);
	void addValue(const QString& key,const QString&  v);
	void addValue(const QString& key,const QList<double>& list);
	void addValue(const QString& key,const QStringList& list);


	bool boolvalue(const QString& key);
	double numvalue(const QString& key);
	int integervalue(const QString& key);
	QList<double> numberArray(const QString& key);
	QStringList stringArray(const QString& key);


private:
	mutable QJsonDocument m_jdoc;
	QJsonObject m_jobj;



};


#endif // !SJSONDATA_H_



